package com.itheima.domain.feedback;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FeedbackExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FeedbackExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCIdIsNull() {
            addCriterion("c_id is null");
            return (Criteria) this;
        }

        public Criteria andCIdIsNotNull() {
            addCriterion("c_id is not null");
            return (Criteria) this;
        }

        public Criteria andCIdEqualTo(String value) {
            addCriterion("c_id =", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotEqualTo(String value) {
            addCriterion("c_id <>", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThan(String value) {
            addCriterion("c_id >", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdGreaterThanOrEqualTo(String value) {
            addCriterion("c_id >=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThan(String value) {
            addCriterion("c_id <", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLessThanOrEqualTo(String value) {
            addCriterion("c_id <=", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdLike(String value) {
            addCriterion("c_id like", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotLike(String value) {
            addCriterion("c_id not like", value, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdIn(List<String> values) {
            addCriterion("c_id in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotIn(List<String> values) {
            addCriterion("c_id not in", values, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdBetween(String value1, String value2) {
            addCriterion("c_id between", value1, value2, "cId");
            return (Criteria) this;
        }

        public Criteria andCIdNotBetween(String value1, String value2) {
            addCriterion("c_id not between", value1, value2, "cId");
            return (Criteria) this;
        }

        public Criteria andUIdIsNull() {
            addCriterion("u_id is null");
            return (Criteria) this;
        }

        public Criteria andUIdIsNotNull() {
            addCriterion("u_id is not null");
            return (Criteria) this;
        }

        public Criteria andUIdEqualTo(String value) {
            addCriterion("u_id =", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotEqualTo(String value) {
            addCriterion("u_id <>", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThan(String value) {
            addCriterion("u_id >", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThanOrEqualTo(String value) {
            addCriterion("u_id >=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThan(String value) {
            addCriterion("u_id <", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThanOrEqualTo(String value) {
            addCriterion("u_id <=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLike(String value) {
            addCriterion("u_id like", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotLike(String value) {
            addCriterion("u_id not like", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdIn(List<String> values) {
            addCriterion("u_id in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotIn(List<String> values) {
            addCriterion("u_id not in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdBetween(String value1, String value2) {
            addCriterion("u_id between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotBetween(String value1, String value2) {
            addCriterion("u_id not between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUEmailIsNull() {
            addCriterion("u__email is null");
            return (Criteria) this;
        }

        public Criteria andUEmailIsNotNull() {
            addCriterion("u__email is not null");
            return (Criteria) this;
        }

        public Criteria andUEmailEqualTo(String value) {
            addCriterion("u__email =", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailNotEqualTo(String value) {
            addCriterion("u__email <>", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailGreaterThan(String value) {
            addCriterion("u__email >", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailGreaterThanOrEqualTo(String value) {
            addCriterion("u__email >=", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailLessThan(String value) {
            addCriterion("u__email <", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailLessThanOrEqualTo(String value) {
            addCriterion("u__email <=", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailLike(String value) {
            addCriterion("u__email like", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailNotLike(String value) {
            addCriterion("u__email not like", value, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailIn(List<String> values) {
            addCriterion("u__email in", values, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailNotIn(List<String> values) {
            addCriterion("u__email not in", values, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailBetween(String value1, String value2) {
            addCriterion("u__email between", value1, value2, "uEmail");
            return (Criteria) this;
        }

        public Criteria andUEmailNotBetween(String value1, String value2) {
            addCriterion("u__email not between", value1, value2, "uEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailIsNull() {
            addCriterion("recipient_email is null");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailIsNotNull() {
            addCriterion("recipient_email is not null");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailEqualTo(String value) {
            addCriterion("recipient_email =", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailNotEqualTo(String value) {
            addCriterion("recipient_email <>", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailGreaterThan(String value) {
            addCriterion("recipient_email >", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailGreaterThanOrEqualTo(String value) {
            addCriterion("recipient_email >=", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailLessThan(String value) {
            addCriterion("recipient_email <", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailLessThanOrEqualTo(String value) {
            addCriterion("recipient_email <=", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailLike(String value) {
            addCriterion("recipient_email like", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailNotLike(String value) {
            addCriterion("recipient_email not like", value, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailIn(List<String> values) {
            addCriterion("recipient_email in", values, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailNotIn(List<String> values) {
            addCriterion("recipient_email not in", values, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailBetween(String value1, String value2) {
            addCriterion("recipient_email between", value1, value2, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andRecipientEmailNotBetween(String value1, String value2) {
            addCriterion("recipient_email not between", value1, value2, "recipientEmail");
            return (Criteria) this;
        }

        public Criteria andPutUserIsNull() {
            addCriterion("put_user is null");
            return (Criteria) this;
        }

        public Criteria andPutUserIsNotNull() {
            addCriterion("put_user is not null");
            return (Criteria) this;
        }

        public Criteria andPutUserEqualTo(String value) {
            addCriterion("put_user =", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserNotEqualTo(String value) {
            addCriterion("put_user <>", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserGreaterThan(String value) {
            addCriterion("put_user >", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserGreaterThanOrEqualTo(String value) {
            addCriterion("put_user >=", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserLessThan(String value) {
            addCriterion("put_user <", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserLessThanOrEqualTo(String value) {
            addCriterion("put_user <=", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserLike(String value) {
            addCriterion("put_user like", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserNotLike(String value) {
            addCriterion("put_user not like", value, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserIn(List<String> values) {
            addCriterion("put_user in", values, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserNotIn(List<String> values) {
            addCriterion("put_user not in", values, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserBetween(String value1, String value2) {
            addCriterion("put_user between", value1, value2, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutUserNotBetween(String value1, String value2) {
            addCriterion("put_user not between", value1, value2, "putUser");
            return (Criteria) this;
        }

        public Criteria andPutTimeIsNull() {
            addCriterion("put_time is null");
            return (Criteria) this;
        }

        public Criteria andPutTimeIsNotNull() {
            addCriterion("put_time is not null");
            return (Criteria) this;
        }

        public Criteria andPutTimeEqualTo(Date value) {
            addCriterion("put_time =", value, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeNotEqualTo(Date value) {
            addCriterion("put_time <>", value, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeGreaterThan(Date value) {
            addCriterion("put_time >", value, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("put_time >=", value, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeLessThan(Date value) {
            addCriterion("put_time <", value, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeLessThanOrEqualTo(Date value) {
            addCriterion("put_time <=", value, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeIn(List<Date> values) {
            addCriterion("put_time in", values, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeNotIn(List<Date> values) {
            addCriterion("put_time not in", values, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeBetween(Date value1, Date value2) {
            addCriterion("put_time between", value1, value2, "putTime");
            return (Criteria) this;
        }

        public Criteria andPutTimeNotBetween(Date value1, Date value2) {
            addCriterion("put_time not between", value1, value2, "putTime");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andClassifyIsNull() {
            addCriterion("classify is null");
            return (Criteria) this;
        }

        public Criteria andClassifyIsNotNull() {
            addCriterion("classify is not null");
            return (Criteria) this;
        }

        public Criteria andClassifyEqualTo(String value) {
            addCriterion("classify =", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyNotEqualTo(String value) {
            addCriterion("classify <>", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyGreaterThan(String value) {
            addCriterion("classify >", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyGreaterThanOrEqualTo(String value) {
            addCriterion("classify >=", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyLessThan(String value) {
            addCriterion("classify <", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyLessThanOrEqualTo(String value) {
            addCriterion("classify <=", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyLike(String value) {
            addCriterion("classify like", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyNotLike(String value) {
            addCriterion("classify not like", value, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyIn(List<String> values) {
            addCriterion("classify in", values, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyNotIn(List<String> values) {
            addCriterion("classify not in", values, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyBetween(String value1, String value2) {
            addCriterion("classify between", value1, value2, "classify");
            return (Criteria) this;
        }

        public Criteria andClassifyNotBetween(String value1, String value2) {
            addCriterion("classify not between", value1, value2, "classify");
            return (Criteria) this;
        }

        public Criteria andTelephoneIsNull() {
            addCriterion("telephone is null");
            return (Criteria) this;
        }

        public Criteria andTelephoneIsNotNull() {
            addCriterion("telephone is not null");
            return (Criteria) this;
        }

        public Criteria andTelephoneEqualTo(String value) {
            addCriterion("telephone =", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotEqualTo(String value) {
            addCriterion("telephone <>", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneGreaterThan(String value) {
            addCriterion("telephone >", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneGreaterThanOrEqualTo(String value) {
            addCriterion("telephone >=", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneLessThan(String value) {
            addCriterion("telephone <", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneLessThanOrEqualTo(String value) {
            addCriterion("telephone <=", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneLike(String value) {
            addCriterion("telephone like", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotLike(String value) {
            addCriterion("telephone not like", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneIn(List<String> values) {
            addCriterion("telephone in", values, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotIn(List<String> values) {
            addCriterion("telephone not in", values, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneBetween(String value1, String value2) {
            addCriterion("telephone between", value1, value2, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotBetween(String value1, String value2) {
            addCriterion("telephone not between", value1, value2, "telephone");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleIsNull() {
            addCriterion("solve_people is null");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleIsNotNull() {
            addCriterion("solve_people is not null");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleEqualTo(String value) {
            addCriterion("solve_people =", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleNotEqualTo(String value) {
            addCriterion("solve_people <>", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleGreaterThan(String value) {
            addCriterion("solve_people >", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleGreaterThanOrEqualTo(String value) {
            addCriterion("solve_people >=", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleLessThan(String value) {
            addCriterion("solve_people <", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleLessThanOrEqualTo(String value) {
            addCriterion("solve_people <=", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleLike(String value) {
            addCriterion("solve_people like", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleNotLike(String value) {
            addCriterion("solve_people not like", value, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleIn(List<String> values) {
            addCriterion("solve_people in", values, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleNotIn(List<String> values) {
            addCriterion("solve_people not in", values, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleBetween(String value1, String value2) {
            addCriterion("solve_people between", value1, value2, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolvePeopleNotBetween(String value1, String value2) {
            addCriterion("solve_people not between", value1, value2, "solvePeople");
            return (Criteria) this;
        }

        public Criteria andSolveTimeIsNull() {
            addCriterion("solve_time is null");
            return (Criteria) this;
        }

        public Criteria andSolveTimeIsNotNull() {
            addCriterion("solve_time is not null");
            return (Criteria) this;
        }

        public Criteria andSolveTimeEqualTo(Date value) {
            addCriterion("solve_time =", value, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeNotEqualTo(Date value) {
            addCriterion("solve_time <>", value, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeGreaterThan(Date value) {
            addCriterion("solve_time >", value, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("solve_time >=", value, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeLessThan(Date value) {
            addCriterion("solve_time <", value, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeLessThanOrEqualTo(Date value) {
            addCriterion("solve_time <=", value, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeIn(List<Date> values) {
            addCriterion("solve_time in", values, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeNotIn(List<Date> values) {
            addCriterion("solve_time not in", values, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeBetween(Date value1, Date value2) {
            addCriterion("solve_time between", value1, value2, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveTimeNotBetween(Date value1, Date value2) {
            addCriterion("solve_time not between", value1, value2, "solveTime");
            return (Criteria) this;
        }

        public Criteria andSolveMethodIsNull() {
            addCriterion("solve_method is null");
            return (Criteria) this;
        }

        public Criteria andSolveMethodIsNotNull() {
            addCriterion("solve_method is not null");
            return (Criteria) this;
        }

        public Criteria andSolveMethodEqualTo(String value) {
            addCriterion("solve_method =", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodNotEqualTo(String value) {
            addCriterion("solve_method <>", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodGreaterThan(String value) {
            addCriterion("solve_method >", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodGreaterThanOrEqualTo(String value) {
            addCriterion("solve_method >=", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodLessThan(String value) {
            addCriterion("solve_method <", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodLessThanOrEqualTo(String value) {
            addCriterion("solve_method <=", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodLike(String value) {
            addCriterion("solve_method like", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodNotLike(String value) {
            addCriterion("solve_method not like", value, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodIn(List<String> values) {
            addCriterion("solve_method in", values, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodNotIn(List<String> values) {
            addCriterion("solve_method not in", values, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodBetween(String value1, String value2) {
            addCriterion("solve_method between", value1, value2, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveMethodNotBetween(String value1, String value2) {
            addCriterion("solve_method not between", value1, value2, "solveMethod");
            return (Criteria) this;
        }

        public Criteria andSolveModeIsNull() {
            addCriterion("solve_mode is null");
            return (Criteria) this;
        }

        public Criteria andSolveModeIsNotNull() {
            addCriterion("solve_mode is not null");
            return (Criteria) this;
        }

        public Criteria andSolveModeEqualTo(String value) {
            addCriterion("solve_mode =", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeNotEqualTo(String value) {
            addCriterion("solve_mode <>", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeGreaterThan(String value) {
            addCriterion("solve_mode >", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeGreaterThanOrEqualTo(String value) {
            addCriterion("solve_mode >=", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeLessThan(String value) {
            addCriterion("solve_mode <", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeLessThanOrEqualTo(String value) {
            addCriterion("solve_mode <=", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeLike(String value) {
            addCriterion("solve_mode like", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeNotLike(String value) {
            addCriterion("solve_mode not like", value, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeIn(List<String> values) {
            addCriterion("solve_mode in", values, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeNotIn(List<String> values) {
            addCriterion("solve_mode not in", values, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeBetween(String value1, String value2) {
            addCriterion("solve_mode between", value1, value2, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveModeNotBetween(String value1, String value2) {
            addCriterion("solve_mode not between", value1, value2, "solveMode");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyIsNull() {
            addCriterion("solve_difficulty is null");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyIsNotNull() {
            addCriterion("solve_difficulty is not null");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyEqualTo(String value) {
            addCriterion("solve_difficulty =", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyNotEqualTo(String value) {
            addCriterion("solve_difficulty <>", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyGreaterThan(String value) {
            addCriterion("solve_difficulty >", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyGreaterThanOrEqualTo(String value) {
            addCriterion("solve_difficulty >=", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyLessThan(String value) {
            addCriterion("solve_difficulty <", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyLessThanOrEqualTo(String value) {
            addCriterion("solve_difficulty <=", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyLike(String value) {
            addCriterion("solve_difficulty like", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyNotLike(String value) {
            addCriterion("solve_difficulty not like", value, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyIn(List<String> values) {
            addCriterion("solve_difficulty in", values, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyNotIn(List<String> values) {
            addCriterion("solve_difficulty not in", values, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyBetween(String value1, String value2) {
            addCriterion("solve_difficulty between", value1, value2, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andSolveDifficultyNotBetween(String value1, String value2) {
            addCriterion("solve_difficulty not between", value1, value2, "solveDifficulty");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenIsNull() {
            addCriterion("whether_open is null");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenIsNotNull() {
            addCriterion("whether_open is not null");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenEqualTo(String value) {
            addCriterion("whether_open =", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenNotEqualTo(String value) {
            addCriterion("whether_open <>", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenGreaterThan(String value) {
            addCriterion("whether_open >", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenGreaterThanOrEqualTo(String value) {
            addCriterion("whether_open >=", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenLessThan(String value) {
            addCriterion("whether_open <", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenLessThanOrEqualTo(String value) {
            addCriterion("whether_open <=", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenLike(String value) {
            addCriterion("whether_open like", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenNotLike(String value) {
            addCriterion("whether_open not like", value, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenIn(List<String> values) {
            addCriterion("whether_open in", values, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenNotIn(List<String> values) {
            addCriterion("whether_open not in", values, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenBetween(String value1, String value2) {
            addCriterion("whether_open between", value1, value2, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andWhetherOpenNotBetween(String value1, String value2) {
            addCriterion("whether_open not between", value1, value2, "whetherOpen");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(String value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(String value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(String value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(String value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(String value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(String value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLike(String value) {
            addCriterion("state like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotLike(String value) {
            addCriterion("state not like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<String> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<String> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(String value1, String value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(String value1, String value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("create_user is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("create_user is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("create_user =", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("create_user <>", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("create_user >", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("create_user >=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("create_user <", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("create_user <=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("create_user like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("create_user not like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("create_user in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("create_user not in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("create_user between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("create_user not between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateDeptIsNull() {
            addCriterion("create_dept is null");
            return (Criteria) this;
        }

        public Criteria andCreateDeptIsNotNull() {
            addCriterion("create_dept is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDeptEqualTo(String value) {
            addCriterion("create_dept =", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptNotEqualTo(String value) {
            addCriterion("create_dept <>", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptGreaterThan(String value) {
            addCriterion("create_dept >", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptGreaterThanOrEqualTo(String value) {
            addCriterion("create_dept >=", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptLessThan(String value) {
            addCriterion("create_dept <", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptLessThanOrEqualTo(String value) {
            addCriterion("create_dept <=", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptLike(String value) {
            addCriterion("create_dept like", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptNotLike(String value) {
            addCriterion("create_dept not like", value, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptIn(List<String> values) {
            addCriterion("create_dept in", values, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptNotIn(List<String> values) {
            addCriterion("create_dept not in", values, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptBetween(String value1, String value2) {
            addCriterion("create_dept between", value1, value2, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDeptNotBetween(String value1, String value2) {
            addCriterion("create_dept not between", value1, value2, "createDept");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andNoReadIsNull() {
            addCriterion("no_read is null");
            return (Criteria) this;
        }

        public Criteria andNoReadIsNotNull() {
            addCriterion("no_read is not null");
            return (Criteria) this;
        }

        public Criteria andNoReadEqualTo(String value) {
            addCriterion("no_read =", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadNotEqualTo(String value) {
            addCriterion("no_read <>", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadGreaterThan(String value) {
            addCriterion("no_read >", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadGreaterThanOrEqualTo(String value) {
            addCriterion("no_read >=", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadLessThan(String value) {
            addCriterion("no_read <", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadLessThanOrEqualTo(String value) {
            addCriterion("no_read <=", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadLike(String value) {
            addCriterion("no_read like", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadNotLike(String value) {
            addCriterion("no_read not like", value, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadIn(List<String> values) {
            addCriterion("no_read in", values, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadNotIn(List<String> values) {
            addCriterion("no_read not in", values, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadBetween(String value1, String value2) {
            addCriterion("no_read between", value1, value2, "noRead");
            return (Criteria) this;
        }

        public Criteria andNoReadNotBetween(String value1, String value2) {
            addCriterion("no_read not between", value1, value2, "noRead");
            return (Criteria) this;
        }

        public Criteria andGegreeIsNull() {
            addCriterion("gegree is null");
            return (Criteria) this;
        }

        public Criteria andGegreeIsNotNull() {
            addCriterion("gegree is not null");
            return (Criteria) this;
        }

        public Criteria andGegreeEqualTo(Integer value) {
            addCriterion("gegree =", value, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeNotEqualTo(Integer value) {
            addCriterion("gegree <>", value, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeGreaterThan(Integer value) {
            addCriterion("gegree >", value, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeGreaterThanOrEqualTo(Integer value) {
            addCriterion("gegree >=", value, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeLessThan(Integer value) {
            addCriterion("gegree <", value, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeLessThanOrEqualTo(Integer value) {
            addCriterion("gegree <=", value, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeIn(List<Integer> values) {
            addCriterion("gegree in", values, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeNotIn(List<Integer> values) {
            addCriterion("gegree not in", values, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeBetween(Integer value1, Integer value2) {
            addCriterion("gegree between", value1, value2, "gegree");
            return (Criteria) this;
        }

        public Criteria andGegreeNotBetween(Integer value1, Integer value2) {
            addCriterion("gegree not between", value1, value2, "gegree");
            return (Criteria) this;
        }

        public Criteria andDeptIdIsNull() {
            addCriterion("dept_id is null");
            return (Criteria) this;
        }

        public Criteria andDeptIdIsNotNull() {
            addCriterion("dept_id is not null");
            return (Criteria) this;
        }

        public Criteria andDeptIdEqualTo(String value) {
            addCriterion("dept_id =", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotEqualTo(String value) {
            addCriterion("dept_id <>", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThan(String value) {
            addCriterion("dept_id >", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThanOrEqualTo(String value) {
            addCriterion("dept_id >=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThan(String value) {
            addCriterion("dept_id <", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThanOrEqualTo(String value) {
            addCriterion("dept_id <=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLike(String value) {
            addCriterion("dept_id like", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotLike(String value) {
            addCriterion("dept_id not like", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdIn(List<String> values) {
            addCriterion("dept_id in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotIn(List<String> values) {
            addCriterion("dept_id not in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdBetween(String value1, String value2) {
            addCriterion("dept_id between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotBetween(String value1, String value2) {
            addCriterion("dept_id not between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdEqualTo(String value) {
            addCriterion("company_id =", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotEqualTo(String value) {
            addCriterion("company_id <>", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThan(String value) {
            addCriterion("company_id >", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(String value) {
            addCriterion("company_id >=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThan(String value) {
            addCriterion("company_id <", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(String value) {
            addCriterion("company_id <=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLike(String value) {
            addCriterion("company_id like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotLike(String value) {
            addCriterion("company_id not like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIn(List<String> values) {
            addCriterion("company_id in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotIn(List<String> values) {
            addCriterion("company_id not in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdBetween(String value1, String value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotBetween(String value1, String value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIsNull() {
            addCriterion("company_name is null");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIsNotNull() {
            addCriterion("company_name is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyNameEqualTo(String value) {
            addCriterion("company_name =", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotEqualTo(String value) {
            addCriterion("company_name <>", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameGreaterThan(String value) {
            addCriterion("company_name >", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameGreaterThanOrEqualTo(String value) {
            addCriterion("company_name >=", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLessThan(String value) {
            addCriterion("company_name <", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLessThanOrEqualTo(String value) {
            addCriterion("company_name <=", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLike(String value) {
            addCriterion("company_name like", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotLike(String value) {
            addCriterion("company_name not like", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIn(List<String> values) {
            addCriterion("company_name in", values, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotIn(List<String> values) {
            addCriterion("company_name not in", values, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameBetween(String value1, String value2) {
            addCriterion("company_name between", value1, value2, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotBetween(String value1, String value2) {
            addCriterion("company_name not between", value1, value2, "companyName");
            return (Criteria) this;
        }

        public Criteria andTimeIsNull() {
            addCriterion("time is null");
            return (Criteria) this;
        }

        public Criteria andTimeIsNotNull() {
            addCriterion("time is not null");
            return (Criteria) this;
        }

        public Criteria andTimeEqualTo(String value) {
            addCriterion("time =", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotEqualTo(String value) {
            addCriterion("time <>", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThan(String value) {
            addCriterion("time >", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThanOrEqualTo(String value) {
            addCriterion("time >=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThan(String value) {
            addCriterion("time <", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThanOrEqualTo(String value) {
            addCriterion("time <=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLike(String value) {
            addCriterion("time like", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotLike(String value) {
            addCriterion("time not like", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeIn(List<String> values) {
            addCriterion("time in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotIn(List<String> values) {
            addCriterion("time not in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeBetween(String value1, String value2) {
            addCriterion("time between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotBetween(String value1, String value2) {
            addCriterion("time not between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andPicIsNull() {
            addCriterion("pic is null");
            return (Criteria) this;
        }

        public Criteria andPicIsNotNull() {
            addCriterion("pic is not null");
            return (Criteria) this;
        }

        public Criteria andPicEqualTo(String value) {
            addCriterion("pic =", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotEqualTo(String value) {
            addCriterion("pic <>", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicGreaterThan(String value) {
            addCriterion("pic >", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicGreaterThanOrEqualTo(String value) {
            addCriterion("pic >=", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicLessThan(String value) {
            addCriterion("pic <", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicLessThanOrEqualTo(String value) {
            addCriterion("pic <=", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicLike(String value) {
            addCriterion("pic like", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotLike(String value) {
            addCriterion("pic not like", value, "pic");
            return (Criteria) this;
        }

        public Criteria andPicIn(List<String> values) {
            addCriterion("pic in", values, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotIn(List<String> values) {
            addCriterion("pic not in", values, "pic");
            return (Criteria) this;
        }

        public Criteria andPicBetween(String value1, String value2) {
            addCriterion("pic between", value1, value2, "pic");
            return (Criteria) this;
        }

        public Criteria andPicNotBetween(String value1, String value2) {
            addCriterion("pic not between", value1, value2, "pic");
            return (Criteria) this;
        }

        public Criteria andStandbyIsNull() {
            addCriterion("standby is null");
            return (Criteria) this;
        }

        public Criteria andStandbyIsNotNull() {
            addCriterion("standby is not null");
            return (Criteria) this;
        }

        public Criteria andStandbyEqualTo(String value) {
            addCriterion("standby =", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyNotEqualTo(String value) {
            addCriterion("standby <>", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyGreaterThan(String value) {
            addCriterion("standby >", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyGreaterThanOrEqualTo(String value) {
            addCriterion("standby >=", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyLessThan(String value) {
            addCriterion("standby <", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyLessThanOrEqualTo(String value) {
            addCriterion("standby <=", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyLike(String value) {
            addCriterion("standby like", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyNotLike(String value) {
            addCriterion("standby not like", value, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyIn(List<String> values) {
            addCriterion("standby in", values, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyNotIn(List<String> values) {
            addCriterion("standby not in", values, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyBetween(String value1, String value2) {
            addCriterion("standby between", value1, value2, "standby");
            return (Criteria) this;
        }

        public Criteria andStandbyNotBetween(String value1, String value2) {
            addCriterion("standby not between", value1, value2, "standby");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable{
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}